package com.example.demo.mapper;

import com.example.demo.pojo.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 数据库交互通过反射
 */
@Mapper
@Repository
public interface UserInfoMapper {

    /**
     * 新增用户信息
     *
     * @param userInfoModel 插入注册数据
     */
    Integer insertUserInfo(UserInfo userInfoModel);

    /**
     * 登录验证
     *
     * @param mobile   手机号
     * @param passWord 密码
     * @return 返回查询出来的结果
     */
    List<UserInfo> login(@Param("mobile") String mobile, @Param("passWord") String passWord);

    /**
     * 查询用户手机号是否注册
     * @param mobile 用户手机号
     * @return 返回查询出来的数据
     */
    List<UserInfo> queryPhone(@Param("mobile") String mobile);

    /**
     * 查询所有人员的数据
     *
     * @return 返回所有数据给对应的人
     */
    @Select("SELECT id,user_name,sex,hobby,location,`describe`,create_time FROM user_info ")
    List<Map<String, Object>> queryAllUserInfo();
}
